package com.baidu.unlockdemo.lifecyle

import android.content.Intent
import android.view.View

/*
class myClass: DefaultLifecycleObserver
lifecycle.addObserver(myClass())
需要观察宿主的生命周期

ViewModel AndroidViewModel
需要数据和activity或者fragment的生命周期一致

LiveData
实时观察一个数据的变化

DataBinding
UI(xml） 和 数据直接双向绑定
注意：在activity或者fragment中设置layout中需要的对象 生命周期
1. 绑定ViewModel里面的LiveData类型数据
2. 绑定自定义的属性 BindingAdapter
   @BindingAdapter("方法名")
   fun 方法名(控件，参数){
   }

   @BindingAdapter("方法名")
   fun View.方法名(需要的参数){
       这个参数如何影响这个View的
   }
3. 绑定自定义的事件
   在一个类中定义好对应的方法 和 需要的参数
   xml中需要获取这些方法所在的类的对象，所以需要定义一个varable和type

*/
class EventListener {
    //通过一个View就可以获取这个view对应的Activity所在的context
    fun navigate(viewModel: MainViewModel, view:View){
        val context = view.context
        context.startActivity(Intent(context, ThirdActivity::class.java))
    }
}